<template>
    <div class="level">
        <!-- 医院等级 -->
        <h1>医院</h1>
        <div class="content">
            <div class="left">等级:</div>
            <ul class="hospital">
                <li :class="{active:activeFlag==''}" @click="changeLevel('')">全部</li>
                <li v-for="level in levelArr" :class="{active:activeFlag==level.value}" :key="level.value" @click="changeLevel(level.value)">{{level.name}}</li>
            </ul>
        </div>

    </div>
</template>

<script setup lang="ts">
import { ref,onMounted } from "vue";
import { reqHospitalLevelAndRegion } from "@/api/home";
import type { HospitalLevelAndRegionseData, HospitalLevelAndRegionArr } from '@/api/home/type';
// 定义一个数组存储医院等级数据
let levelArr = ref<HospitalLevelAndRegionArr>([])
// 控制医院等级高亮响应式数据
let activeFlag = ref<string>('')
// 组件挂载完毕
onMounted(() => {
    getLevel()
})
// 存储医院等级的数据
const getLevel = async () => {
    let result: HospitalLevelAndRegionseData = await reqHospitalLevelAndRegion('HosType');
    
    levelArr.value = result.data;
};
// 点击等级的按钮回调
const changeLevel = (level:string)=>{
    activeFlag.value = level;
    $emit('getLevel',level)
}
let $emit = defineEmits(['getLevel'])
</script>

<style scoped lang="scss">
.level {
    color: #7f7f7f;

    h1 {
        font-weight: 900;
        margin: 10px 0;
    }

    .content {
        display: flex;

        .left {
            margin-right: 10px;
        }

        .hospital {
            display: flex;

            li {
                margin-right: 10px;

                &.active {
                    color: #55a6fe;
                }
            }

            li:hover {
                color: #55a6fe;
                cursor: pointer;
            }
        }
    }
}
</style>